package office.ReplacementSpace.Text1;

//JZ5 替换空格
//请实现一个函数，将一个字符串s中的每个空格替换成“%20”。
//例如，当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
//数据范围:
//0≤𝑙𝑒𝑛(𝑠)≤1000
//0≤len(s)≤1000 。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。

public class main {
    public static void main(String[] args) {
        String s = "We Are Happy";

        //1.先把字符串转换为单个字符
        //System.out.println(replaceSpace1(s));

        //2.使用StringBuilder
        //System.out.println(replaceSpace2(s));
    }

    public static String replaceSpace1 (String s) {
        int index = 0;
        //因为至少要将空格替换为三个字符
        char[] arr = new char[s.length() * 3];
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                arr[index++] = '%';
                arr[index++] = '2';
                arr[index++] = '0';
            }else {
                arr[index++] = s.charAt(i);
            }
        }
        String newString = new String(arr, 0, index);
        return newString;
    }

    public static String replaceSpace2 (String s) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                stringBuilder.append("%20");
            }else {
                stringBuilder.append(s.charAt(i));
            }
        }

        //toString 把StringBuilder转化为String.
        return stringBuilder.toString();
    }
}
